#ifndef __LUNA_WAVSound_h__
#define __LUNA_WAVSound_h__

#include "LUNA_Common.h"
#include "LUNA_ISound.h"

#include "al.h"

namespace LUNA
{	
	class WAVSound : public ISound
	{
	public:
		WAVSound( const std::string &filename );
		virtual ~WAVSound();

		virtual void update();

		void setPlayState( SoundPlayState state );
		SoundPlayState getPlayState() const;
		
		virtual void setVolume( float volume );
		virtual void _setMasterVolume( float volume );

	private:
		ALuint mBuffer;
		ALuint mSource;
		ALuint mState;
	};	
}

#endif